Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic Table First draft #435

Merged
merged 45 commits into from
Feb 22, 2024

Conversation

saynb
Copy link
Contributor

@saynb saynb commented Jun 16, 2023

  • Phase 1:
    Objective : Phase 1 aims to provide support for a set of simple target-specific externs through GenericTables. Current APIs should work on the tables as intended. Read-write symmetry should be maintained wherever possible. Have a structure in place in p4info with which new type system and properties at different granularities can be specified and maintained.

    • Not extend any of the current RPC updates. Use INSERT, MODIFY, DELETE and Read RPC as is
    • Define Table categories/ properties
    • Define Entry and Field properties
    • Define Type system
    • Achieve Write/Read for simple PNA specific externs like ExactValueMatchLookupTable
    • Work on generic-table-dev
  • Phase 2
    Extend API list and other features.

    • Entry Handles
    • Table attributes (symmetric vs asymmetric)
    • New APIs
      • reset
      • add_or_mod
      • sync
      • usage_get
      • mod_inc
    • Table custom operations extensions. A way to define new operations via json modeling. For example, sync
  • Phase 3

    • String representation of fields. Like IPv4 IPv6
    • Table notifications. Model notifications in a generic way

saynb added 13 commits April 12, 2023 18:17
Adding another enum alongside P4IDs for generic tables as well
* Adding varbit and a writeup
** list
** bag
** set
** ordered_set

* Moving GenericTable spec update to one big section to keep it
organized
* Adding more text on the data types in the spec
* Adding Details on Operations in the Table categories
* Adding a table to show valid combinations of table properties
* Adding default entry rules
Copy link
Collaborator

@chrispsommers chrispsommers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Miscellaneous comments and small fixes.

Signed-off-by: Sayan Bandyopadhyay <[email protected]>
docs/v1/P4Runtime-Spec.mdk Outdated Show resolved Hide resolved
Signed-off-by: Sayan Bandyopadhyay <[email protected]>
Copy link

@jamescchoi jamescchoi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All comments addressed.

@chrispsommers
Copy link
Collaborator

@jafingerhut @smolkaj @jonathan-dilorenzo Last call for comments/approval. it;d be nice to merge this into the dev-branch which in any case is DRAFT.

@saynb Is this synced with main?

@saynb
Copy link
Contributor Author

saynb commented Dec 7, 2023

@jafingerhut @smolkaj @jonathan-dilorenzo Last call for comments/approval. it;d be nice to merge this into the dev-branch which in any case is DRAFT.

@saynb Is this synced with main?

The generic-table-dev branch needs to be synced with main. I can then git merge it in this private branch. Can you please help with that?

@chrispsommers
Copy link
Collaborator

@saynb Sure, just make the PR and tag me, thanks.

Copy link
Contributor

@jafingerhut jafingerhut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Merge remote-tracking branch 'p4lang/generic-table-dev' into generic_table_2

Signed-off-by: Bandyopadhyay, Sayan <[email protected]>
Signed-off-by: Sayan Bandyopadhyay <[email protected]>
@chrispsommers chrispsommers merged commit cc1e04e into p4lang:generic-table-dev Feb 22, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants